home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / CPP / WFC010.ZIP / INCLUDE / CNETSESS.HPP < prev    next >
C/C++ Source or Header  |  1995-12-07  |  3KB  |  103 lines

  1. #if ! defined( NET_SESSION_CLASS_HEADER )
  2.  
  3. /*
  4. ** Author: Samuel R. Blackburn
  5. ** CI$: 76300,326
  6. ** Internet: sammy@sed.csc.com
  7. **
  8. ** You can use it any way you like as long as you don't try to sell it.
  9. **
  10. ** Any attempt to sell WFC in source code form must have the permission
  11. ** of the original author. You can produce commercial executables with
  12. ** WFC but you can't sell WFC.
  13. **
  14. ** Copyright, 1995, Samuel R. Blackburn
  15. **
  16. ** $Workfile: $
  17. ** $Revision: $
  18. ** $Modtime: $
  19. */
  20.  
  21. #define NET_SESSION_CLASS_HEADER
  22.  
  23. class CNetworkSessionInformation : public CObject
  24. {
  25.    DECLARE_SERIAL( CNetworkSessionInformation )
  26.  
  27.    private:
  28.  
  29.       void m_Initialize( void );
  30.  
  31.    public:
  32.  
  33.       CNetworkSessionInformation();
  34.       CNetworkSessionInformation( SESSION_INFO_502 *source );
  35.       CNetworkSessionInformation( const CNetworkSessionInformation& source );
  36.       virtual ~CNetworkSessionInformation();
  37.  
  38.       /*
  39.       ** Patterned after SESSION_INFO_502
  40.       */
  41.  
  42.       CString   ClientName;
  43.       CString   UserName;
  44.       DWORD     NumberOfOpens;
  45.       CTimeSpan Time;
  46.       CTimeSpan IdleTime;
  47.       DWORD     UserFlags;
  48.       CString   ClientTypeName;
  49.       CString   Transport;
  50.  
  51.       /*
  52.       ** Can't make Copy take a const pointer because Microsoft screwed up the 
  53.       ** net API header files...
  54.       */
  55.  
  56.       virtual void Copy( SESSION_INFO_502 *source );
  57.       virtual void Copy( const CNetworkSessionInformation& source );
  58.       virtual void Empty( void );
  59.       virtual void Serialize( CArchive& archive );
  60. };
  61.  
  62. class CNetworkSessions : public CNetwork
  63. {
  64.    DECLARE_SERIAL( CNetworkSessions )
  65.  
  66.    private:
  67.  
  68.       void m_Initialize( void );
  69.  
  70.    protected:
  71.  
  72.       CString m_ServerName;
  73.       CString m_ClientName;
  74.  
  75.       BOOL m_Retrieved0;
  76.       BOOL m_Retrieved1;
  77.       BOOL m_Retrieved2;
  78.       BOOL m_Retrieved10;
  79.       BOOL m_Retrieved502;
  80.  
  81.       DWORD m_ResumeHandle;
  82.  
  83.       virtual void m_Get_0_Data( void );
  84.       virtual void m_Get_1_Data( void );
  85.       virtual void m_Get_2_Data( void );
  86.       virtual void m_Get_10_Data( void );
  87.       virtual void m_Get_502_Data( void );
  88.  
  89.    public:
  90.  
  91.       CNetworkSessions();
  92.       CNetworkSessions( LPCTSTR machine_name );
  93.       virtual ~CNetworkSessions();
  94.  
  95.       virtual void  Close( void );
  96.       virtual BOOL  Delete( CNetworkSessionInformation& session_to_delete );
  97.       virtual BOOL  Enumerate( CNetworkSessionInformation& information );
  98.       virtual BOOL  GetNext( CNetworkSessionInformation& information );
  99.       virtual void  Serialize( CArchive& archive );
  100. };
  101.  
  102. #endif // NET_SESSION_CLASS_HEADER
  103.